Signaling Message Prioritization

ABSTRACT

Methods, system, and articles are described herein for receiving and prioritizing a plurality of signaling messages based at least on classifications of the signaling messages. At least a number of the signaling messages are processed in order of priority, the number processed being based at least on a volume of the signaling messages.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation application which claims priority to commonlyassigned, co-pending U.S. patent application Ser. No. 12/748,288, filedMar. 26, 2010, which application is fully incorporated herein byreference in its entirety.

BACKGROUND

Increasingly, servers and other computing devices receive communicationsand establish connections with a wide variety of telecommunicationdevices and computer systems to transmit voice calls, emails, text andinstant messages, and application and user data. Such communications andconnections typically involve the transmission of both signaling andpayload messages. Signaling messages, such as Radio Resource Control(RRC) reconfiguration of radio bearers or General Packet Radio Service(GPRS) Packet Data Protocol (PDP) context establishments, are often usedin the control plane to establish the connections or to indicate thetransmission of data in the user plane (payload). Because signalingmessages are not typically used to transmit the data payloads, they areoften relatively small and, individually, do not impose a large demandon the processing resources of the receiving device. With the increasingvolume of signaling messages observed from the increasing use ofsmartphone applications, however, there is a risk of such signalingmessages overwhelming the devices receiving and processing them.

Payload messages can be quite large and thus impose a significant demandon processing resources. To enable orderly processing of these payloadmessages, receiving devices often use one of a number ofquality-of-service algorithms that limit the number of payload messagesprocessed, order those messages, or offload processing of some of thepayload messages to another device.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanyingfigures, in which the left-most digit of a reference number identifiesthe figure in which the reference number first appears. The use of thesame reference numbers in different figures indicates similar oridentical items or features.

FIG. 1 is a block diagram showing an overview of systems involved insignaling message prioritization, in accordance with variousembodiments.

FIG. 2 is a block diagram of an example signaling message including arepresentation of a classification to be used in prioritizing thesignaling message, in accordance with various embodiments.

FIG. 3 is a flowchart showing a method of prioritizing and handling areceived signaling message, in accordance with various embodiments.

FIG. 4 is a flowchart showing a method of formulating a receivedsignaling message, in accordance with various embodiments.

FIG. 5 is a block diagram showing a component level view of a messagehandling device, in accordance with various embodiments.

FIG. 6 is a block diagram showing a component level view of a senderdevice, in accordance with various embodiments.

DETAILED DESCRIPTION

Described herein are techniques for prioritizing signaling messages,such as radio signaling messages. The signaling messages are transmittedfrom one computing device to another to request or establish aconnection, to initiate the transfer of data, or to request updates. Thereceiving computing device can receive many of these signaling messagesat the same time, making it difficult to process all the messages atonce. To make sure that the “higher priority” or “highest priority”messages get processed first, the techniques described herein enable thereceiving device to determine a classification of each receivedsignaling message and to prioritize the messages based on thoseclassifications. What is considered “higher priority” or “highestpriority” may vary and could be specified, for example, by an operatorof the receiving device or by a protocol for classifying the signalingmessages. The receiving computing device determines the classificationfor each message by examining representations of the classificationsincluded in header fields of the signaling messages. Theserepresentations and their associated classifications are in turnspecified by a signaling classification protocol, such as a radiosignaling classification protocol.

Once the signaling messages have been prioritized, the receivingcomputing device can compare the volume of the received signalingmessages to a threshold. If the volume exceeds the threshold, thereceiving computing device limits the number of the signaling messagesit processes. The receiving computing device then processes at least anumber of the signaling messages in order of priority and discards orqueues unprocessed signaling messages. If a sending computing devicerepeatedly retransmits a queued or discarded signaling message, thereceiving computing device replies with a request that the sendingcomputing device wait for a time period before retransmitting again.

In formulating the signaling messages, the sending computing device alsomakes reference to the signaling classification protocol to determine aclassification for a signaling message and a representation of thatclassification. For example, the signaling classification protocol mayspecify a classification corresponding to each type of communicationpossible for the sending computing device, organize thoseclassifications into a few categories, such as “voice,” “high prioritydata signaling,” “low priority data signaling,” and “updates” andassociate a representation with each category.

Overview

FIG. 1 illustrates an overview of systems involved in signaling messageprioritization, in accordance with various embodiments. As shown in FIG.1, sender devices 102 transmit signaling messages 104 to a messagehandling device 106. The signaling messages 104 include classifications108 that are used by the message handling device 106 to prioritize thesignaling messages 104. The classifications 108 for the signalingmessages 104 are specified by a signaling classification protocol 110that is used by applications or operating systems (OS) 112 and modems114 of the sender devices 102 in formulating the signaling messages 104.The signaling classification protocol 110 is also used by aprioritization module 116 of the message handling device 106 inprioritizing the signaling messages 104. In addition to the signalingclassification protocol 110, the prioritizing module 116 may also userules 118 in prioritizing the signaling messages 104. The messagehandling device 106 also includes a message handling module 120 tohandle the signaling messages 104 and a queue 122 to store unprocessedsignaling messages 104. Handling the signaling messages 104 can includereplies and notifications 124 transmitted by the message handling device106 to the sender device 102. Both the signaling messages 104 and thenotifications and replies 124 are communicated across a networkingfabric 126 that connects the sender devices 102 and the message handlingdevice 106.

In various embodiments, the sender devices 102 are any number of like orvaried computing and telecommunication devices. Sender devices 102 mayinclude a telecommunication device, a personal digital assistant (PDA),a personal computer (PC), a tablet computer, a workstation, a serversystem, a television, a media player, a digital video recorder, a gamedevice, or a set-top box, or any other sort of device. The senderdevices 102 can be in a single location or be in varied locations, canbe associated with a single user or service subscriber or be associatedwith a number of users/subscribers and can have any of a variety ofpurposes (e.g., work phone, home computer, etc.). In one embodiment, thesender devices 102 implement among themselves a network such as apersonal area network (PAN), local area network (LAN), or wide areanetwork (WAN) and communicate with each other via that network. In otherembodiments, the sender devices 102 are not associated with each other.An example sender device 102 is illustrated in greater detail in FIG. 6and is described in detail below with reference to that figure.

As shown in FIG. 1 and mentioned above, the sender devices 102 can beconnected to the networking fabric 126, can send signaling messages 104and receive notifications and responses 124. Also, the sender devices102 can transmit payload delivery messages (not shown) to the messagehandling device 106. The participation of the sender devices 102 inthese and other operations is described further below with reference tothe operations of the applications and OS 112 and the modem 114.

In various embodiments, the sender devices 102 include networkingstacks, protocols, or modules (not shown) included in the modem 114 fortransmitting signaling messages 104 and other traffic from theapplications and OS 112 to the message handling device 106 and forreceiving notifications and responses 124. The stacks, protocols, andmodules can include a uniform mobile telecommunications system (UMTS)wideband code division multiple access (WCDMA) stack, a WiMAX stack, anevolved universal terrestrial radio access (E-UTRA) stack, a SIP client,a TCP/IP stack, among others. Such stacks, protocols, and modules formatmessages for transmission by, for example, encapsulating the messages inpackets with packet headers corresponding to protocols, such as WiMAX,RRC, PDP, LTE, or SIP protocols RRC and PDP protocols are used in UMTSand LTE systems. In other embodiments, rather than utilizing stacks,protocols, and modules for message formatting and delivery, theapplications and OS 112 are configured to perform the formatting anddelivery.

The applications and OS 112 include any sort of applications, such asvoice and telephony applications, email applications, text and instantmessaging applications, location providing applications, and any othersort of application that communicates with another device to, forexample, receive periodic updates. The applications and OS 112 alsoinclude operating systems such as those belonging to the MicrosoftWindows® family of operating systems, UNIX operating systems, and othersorts of operating systems that receive, for example, remote updates andmaintenance. The applications and OS 112 can include executableinstructions for performing various operations and, optionally, datastored in databases or registries to be used by the executableinstructions.

The modem 114 can be any sort of modem, such as a modem used intelecommunication devices to provide an air interface and wirelessconnectivity to a service provider network. As mentioned above, themodem 114 can include stacks, protocols, and other modules to classifyand transmit signaling messages 104.

In some embodiments, the sender devices 102 can send any sort ofsignaling messages 104 to the message handling device 106. For example,sender devices 102 can send connection requests, update requests,notifications of the transfer of voice, email, text, or instant messagepackets that may be transmitted in separate payload messages. Senderdevices 102can also respond to requests and establish networkconnections. For example, to establish a UMTS voice connection with amessage handling device 106, a sender device 102 sends a RRC ConnectionRequest to the message handling device, receives a RRC ConnectionResponse, and sends an RRC Connection Setup Complete response. Each ofthese transmitted messages constitutes a signaling message 104.

As also shown in FIG. 1, the modem 114 can utilize a signalingclassification protocol 110 to determine classifications 108 for thesignaling messages 104 as part of the formulation of the signalingmessages 104. Classifications 108 can correspond to specific types ofsignaling messages 104, such as “Voice Signaling,” a specific type ofrequest or response, such as “Voice Connection Setup,” “Data ConnectionSetup,” or “Data Bearer Reconfiguration.” Classifications 108 can alsocorrespond to groups or categories of classifications, as the groups orcategories being or including one or more of: “voice call,” “highpriority data signaling,” “low priority data signaling,” “update,” “PDPcontext establishment,” “RRC connection establishment request,” “RRCradio bearer reconfiguration,” “RRC release,” “RRC paging message,”“cell updates,” or “SIP request or response.” The signalingclassification protocol 110 specifies both the groups/categories and theclassifications 108 belonging to each group/category so that the modem114 can determine a group/classification by comparing a signalingmessage type to the list of classifications 108.

In addition, the signaling classification protocol 110 specifiesrepresentations of the classifications 108 and categories to be includedin the signaling messages 104. The representations are bit patterns,such a “000,” “010,” etc. and can have a length specified by thesignaling classification protocol 110. The modem 114 utilizes thedetermined classification 108 or group/category to ascertain therepresentation to include in the signaling message 104 being formulated.

In addition to the length of the representation, the signalingclassification protocol 110 specifies a header field of the signalingmessage 104 and location within the header field in which therepresentation is to be included. FIG. 2 shows an example signalingmessage 104, including a header 202, a header field 204, arepresentation 206, and a message body 208. While the representation 206is shown as being located within header field 204, the representation206 could instead be located in any other part of the header 202 or inthe body 208. Each of the header 202, header field 204, representation206, and body 208 may have a predetermined bit size that the applicationand OS 112 and modem 114 must utilize if formulating the signalingmessages 104. The predetermined sizes of the header 202, header field204, and body 208 may be determined by the protocol utilized toencapsulate and transmit the signaling message 104. In one embodiment,the size of the representation 206 and the header field 204 in which itis placed may vary based on the communication protocol used to transmitthe signaling message. For example, the signaling classificationprotocol 110 can specify that the representation 206 has a first sizeand a first header field location with a first communication protocoland a second size and a second header field location with a secondcommunication protocol.

Having ascertained the header field, representation location, andrepresentation from the signaling classification protocol 110, the modem114 completes the formation and transmission of the signaling message104. In some embodiments, as mentioned above, some or all of the aspectsof the signaling message 104 formation are performed by stacks,protocols, or modules of the modem 114. In other embodiments, all of theaspects are performed by the application and OS 112.

In addition to transmitting the signaling messages 104, the applicationand OS 112 and modem 114 can transmit payload delivery messages (notshown). For example, if the signaling message 104 requests transmissionof a voice call, the actual data corresponding to the contents of thevoice call (e.g., audio data packets) may be transmitted by theapplication and OS 112 and modem 114 as payload delivery messages. Insome embodiments, the payload delivery messages also haveclassifications used by quality-of-service algorithms of the messagehandling device 106. The classifications of the payload deliverymessages can be the same as classifications 108 of the signalingmessages 104 or can be different from the classifications 108 of thesignaling messages 104.

As further shown in FIG. 1, the sender devices 102 can also receivenotifications and responses 124 from the message handling device 106.The notifications and responses 124 can communicate that a requestedaction was performed or that a connection was established. Thenotifications and responses 124 can also communicate that the signalingmessage 104 was queued or discarded because, for instance, the messagehandling device 106 was overloaded. Additionally, the notifications andresponses 124 may request that the sender devices 102 refrain fromretransmitting a signaling message 104 for a specified period of time.The sender devices 102 then wait for that time period beforeretransmitting the signaling message 104 that the request 124 was sentin reply to. In one embodiment, the stacks, protocols, and modules ofthe modem 114 mentioned above include a module configured to receiverequests 124 to limit retransmitting before the expiration of thespecified time period.

In various embodiments, the message handling device 106 is any sort ofcomputing device. The message handling device 106 can be a PC, a laptopcomputer, a workstation, a server system, a mainframe, a server farm, atelecommunication device, a PDA, a tablet computer, a television, amedia player, a digital video recorder, a game device, or a set-top box,or any other sort of device. An example message handling device 106 isillustrated in FIG. 5 and is described below in further detail inreference to that figure.

The message handling device 106 is either the ultimate destination ofthe signaling message 104 or, for example, and edge device of a privatenetwork to which the signaling message 104 is destined. The messagehandling device 106 may also be associated with a service provider, suchas a provider of telecommunication services or data services. Themessage handling device 106 also includes interfaces enabling operatorsor other users to configure the message handling device 106 by, forinstance, specifying rules for use in signaling message prioritization,for specifying volume thresholds, or for specifying retransmission waittimes.

In some embodiments, the message handling device 106 receives multiplesignaling messages 104 at substantially the same time. For example, themessage handling device 106 might receive thousands of signalingmessages 104 in a two millisecond time frame. Upon receipt, thesesignaling messages 104 are queued for processing in a structureassociated with stacks, protocols or modules (not shown) of the messagehandling device 106. In other embodiments, the prioritization module 116or message handling module 120 stores and handles signaling messages 104upon their receipt.

Either in real time or at pre-determined time intervals, theprioritization module 116 prioritizes the received signaling messages104 based on classifications 108 of the signaling messages 104 and onrules for prioritizing based on classifications 108. To determine theclassifications 108 or groups/categories of classifications 108 of thesignaling messages, the prioritization module 116 utilizes the signalingclassification protocol 110 to locate representations of theclassifications within the signaling messages 104 and to determine theclassifications 108 or groups/categories associated with the locatedrepresentations.

Once the prioritization module 116 has determined a classification 108or category for each signaling message 104, the prioritization module116 utilizes one or more rules 118 to prioritize the signaling messagesbased on those classifications 108 or categories, generating an order ofpriority for the received signaling messages 104. In some embodiments,the rules 118 are specified by an operator or specified in the signalingclassification protocol 110. The rules 118 can specify a processingorder for various classifications or categories of signaling messages.For example, a rule 118 might assign the highest priority to signalingmessages 104 having “voice” as their classification 108 or category,assign the second highest priority to signaling messages 104 having“high priority data signaling” as their classification 108 or category,and assign another lowest priority to every other signaling message 104.While three levels of priority are discussed in this example, any numberof levels of priority can be specified and applied by the prioritizationmodule 116. As there may be multiple signaling messages 104 associatedwith a given level of priority, the prioritization module 116 mayfurther order signaling messages within a priority level based on theirtime of arrival, based on the identity of their sender, or based on someother criteria.

In one embodiment, either or both of the signaling classificationprotocol 110 or the rules 118 are specified as a text file, such as anextensible markup language (XML) file.

In various embodiments, the message handling module 120 first comparesthe volume of the received signaling messages 104 to a volume threshold.For example, the message handling device 106 may have simultaneouslyreceived six hundred signaling messages 104, but the message handlingdevice 106 may have a volume threshold of five hundred signalingmessages. In response to the comparison, the message handling module 120limits the number of signaling messages 104 that get processed if thecomparison indicates that the volume received exceeds the volumethreshold. In one embodiment, the message handling module 120 performsthe comparing and limiting prior to the prioritization module 116performing the prioritizing, enabling the prioritization module 116 toperform the prioritizing if the comparison indicates that the volumeexceeds the volume threshold. If the volume does not exceed the volumethreshold, the message handling module 120 processes some or all of thereceived signaling messages 104.

The number of signaling messages 104 to be processed then includes someor all of the signaling messages 104 below the volume threshold. Thatnumber of signaling messages 104 is processed by the message handlingmodule 120 in their order of priority as determined by theprioritization module 116. For example, signaling messages 104 havingthe highest and second highest levels of priority may be processed. Insome embodiments, processing the number of signaling messages 104includes replying to the signaling messages 104 or performing an actrequested by the signaling messages 104. For instance, a signalingmessage 104 could be a RRC Connection Request and the message handlingmodule 120 could process the request by replying with a RRC ConnectionResponse 124.

In various embodiments, the message handling module 120 handlesunprocessed signaling messages 104 in one of a number of ways. One wayof handling the unprocessed signaling messages 104 is queuing thoseunprocessed signaling messages 104 in a queue 122. The queue 122 may beany sort of structure for storing data, such as a database, a structuredor unstructured file, or a programmatic structure such as a stack orqueue. The message handling module 120 stores the unprocessed signalingmessages 104 in the queue 122 for later processing when the volume ofreceived signaling messages 104 falls below the volume threshold.

The message handling module 120 can also discard unprocessed signalingmessages 104. In one embodiment, the message handling module 120 queuessome unprocessed signaling messages 104 and discards others. Forinstance, the message handling module 120 could discard unprocessedsignaling messages 104 having a lower or lowest level of priority andcould queue other unprocessed signaling messages 104.

For either or both of queued or discarded signaling messages 104, themessage handling module 120 may or may not respond to the signalingmessages 104 with a notification or response 124. In some embodiments,the notification or response 124 indicates that its correspondingsignaling message 104 has been queued or discarded. If queued, thenotification or response may include an estimated time until thesignaling message is processed.

Additionally or alternatively, the message handling module 120 includesin the notification or response 124 a request that the sender device 102wait for a specified time before retransmitting the signaling message104 or sending another signaling message 104. In other embodiments, themessage handling module 120 may simply discard the signaling message 104originally received from the sender device 102. Also, in one embodiment,a request that the sender device 102 wait for a specified time beforeretransmitting the signaling message 104 is only transmitted if thesignaling message 104 has a certain classification 108 (e.g., “update”)or if the signaling message 104 corresponds to a certain level ofpriority (e.g., the lowest level of priority). Also, in someembodiments, the wait specified in the request is determined based atleast on a classification 108 or level or priority of the unprocessedsignaling message 104 (e.g., five minutes for “connection requests” andtwo hours for “updates”).

As illustrated in FIG. 1 and mentioned above, the signaling messages 104and notifications and responses 124 are transmitted across a networkingfabric 126 connecting the sender devices 102 and the message handlingdevice 106. In some embodiments, the networking fabric 126 representsany one or more networks, such as cellular networks and/or datanetworks, including WANs, LANs, PANs, and/or the Internet. A connectionbetween the sender devices 102 and the message handling device 106 maybe through a number of routers, base stations, and/or devices acting asbridges between cellular and data networks. Communications between thesender devices 102 and the message handling device 106 utilize any sortof communication protocol known in the art for sending and receivingmessages. In some embodiments, network fabric 126 also includes anInternet service provider (ISP) providing Internet connectivity to thesender devices 102.

Example Operations

FIG. 3 illustrates a method of prioritizing and handling a receivedsignaling message, such as a radio signaling message, in accordance withvarious embodiments. As illustrated, the message handling device 106first receives 302 a plurality of signaling messages 104. The messagehanding device 106 receives 302 the signaling messages 104 from senderdevices 102. Example operations of the sender devices 102 are shown inFIG. 4 and described in greater detail with reference to that figure.

Continuing to refer to FIG. 3, the message handling device 106 thenprioritizes 304 the signaling messages 104 based at least onclassifications 108 of the signaling messages 104. In one embodiment,the signaling message classifications 108 are specified by a signalingclassification protocol, such as a radio signaling classificationprotocol, and are represented within headers of the signaling messages104 by one or more bits of header fields. The signaling classificationprotocol may also specify a bit length for a representation of aclassification 108 and specify the header field that is to include therepresentation.

In some embodiments, the classifications may be associated with at leastone category and the at least one category may be or include one or moreof voice call, high priority data signaling, low priority datasignaling, an update, a PDP context establishment, a RRC connectionestablishment request, a RRC radio bearer reconfiguration, a RRCrelease, a RRC paging message, cell updates, a session initiationprotocol (SIP) request or response, or a specific type of SIP request orresponse.

In one embodiment, the message handling device 106 performs theprioritizing 304 based on rules for handling classifications 108 thatare specified by the signaling classification protocol or based on rulesfor handling classifications 108 that are determined by an operator orservice provider.

Once the signaling messages have been prioritized, the message handlingdevice 106 compares 306 the volume of the signaling messages 104 to athreshold volume imposed by physical capacities of the message handlingdevice 106, by an operator, or by a service provider. In anotherembodiment, the message handling device 106 compares 306 the centralprocessing unit (CPU) load to a threshold CPU load. Based at least onthe comparing 306, the message handling device 106 limits how many ofthe signaling messages 104 are to be processed. In other embodiments,the message handling device 106 performs the comparing 306 and limiting308 before the prioritizing 304 and only performs the prioritizing 304if it performs the limiting 308.

The message handling device 106 then processes 310 at least a number ofthe signaling messages 104 in order of priority, the number processedbeing based at least on the volume of the signaling messages 104. Insome embodiments, the processing 310 includes replying to the signalingmessages 104 or performing an act requested by the signaling messages104. Also or instead, the message handling device 106 performs at leastone of (A) queuing 312 unprocessed signaling messages 104 for laterprocessing, (B) replying 314 to a sender device 102 of the at least oneunprocessed signaling message 104 with a request 124 that the senderdevice 102 wait for a specified time before sending another signalingmessage 104, or (C) discarding 316 unprocessed signaling messages 104.In some embodiments, the message handling device 106 performs thereplying 314 in response to determining that the at least oneunprocessed signaling message 104 is associated with a specificclassification. Also, in one embodiment, the wait specified in the replyrequest 124 is determined based at least on a classification 108 of theat least one unprocessed signaling message 104.

In various embodiments, the message handling device 106 also receives318 a payload delivery message associated with one of the signalingmessages 104, the payload delivery message having a classification thatis different from the classification 108 of the one of the signalingmessages 104.

FIG. 4 illustrates a method of formulating a received signaling message,such as a radio signaling message, in accordance with variousembodiments. As illustrated, the sender device 102 formulates 402 thesignaling message 104, including determining a classification 108associated with the signaling message 104 based on a signalingclassification protocol, such as a radio signaling classificationprotocol. In one embodiment, the signaling classification protocolspecifies a bit length for a representation of the classification 108and specifies a header field of the signaling message 104 that is toinclude the representation.

In various embodiments, the classification may be associated with atleast one category and the at least one category may be or include oneor more of a voice call, high priority data signaling, low priority datasignaling, an update, a PDP context establishment, a RRC connectionestablishment request, a RRC radio bearer reconfiguration, a RRCrelease, a RRC paging message, cell updates, a session initiationprotocol (SIP) request or response, or a specific type of SIP request orresponse.

After formulating 402 the signaling message 104, the sender device 102transmits 404 the signaling message 104 to a message handling device 106for processing in accordance with the signaling message classification108.

Optionally, the sender device 102 then receives 406 a reply 124 from themessage handling device 106 requesting that the sender device 102 waitfor a specified time before sending another signaling message 104. Afterwaiting 408 for the specified time period, the sender device 102 thenre-transmits the signaling message 104 to the message handling device106.

Example Systems

FIG. 5 illustrates a component level view of an example message handlingdevice 106, in accordance with various embodiments. As shown, themessage handling device 106 includes a memory 502, the memory storingthe prioritizing module 116, the message handling module 120, and thequeue 122. The message handling device 106 further includes processor(s)504, interfaces 506, a display 508, transceivers 510, output devices512, input devices 514, and a drive unit 516 including a machinereadable medium 518.

In various embodiments, memory 502 generally includes both volatilememory and non-volatile memory (e.g., RAM, ROM, EEPROM, Flash Memory,miniature hard drive, memory card, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other medium).Memory 502 can also be described as computer storage media and mayinclude volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information, suchas computer readable instructions, data structures, program modules, orother data.

The prioritizing module 116, the message handling module 120, and thequeue 122 stored in memory 504 are also shown in FIG. 1 and describedabove in detail with reference to that figure.

In some embodiments, the processor(s) 504 is a central processing unit(CPU), a graphics processing unit (GPU), or both CPU and GPU, or otherprocessing unit or component known in the art.

In various embodiments, the interfaces 506 are any sort of interfacesknown in the art. Interfaces 506 include any one or more of an Ethernetinterface, wireless LAN interface, or a near field interface. The awireless LAN interface can include a Wi-Fi interface or a Wi-Maxinterface, or a Bluetooth interface that performs the function oftransmitting and receiving wireless communications using, for example,the IEEE 802.11, 802.16 and/or 802.20 standards. For instance, themessage handling device 106 can use a Wi-Fi interface to communicatedirectly with a nearby device. The near field interface can include aBluetooth® interface or RFID for transmitting and receiving near fieldradio communications via a near field antenna. For example, the nearfield interface may be used for functions, as is known in the art, suchas communicating directly with nearby devices that are also, forinstance, Bluetooth® or RFID enabled. A reader/interrogator may beincorporated into message handling device 106.

In various embodiments, the display 508 is a liquid crystal display orany other type of display. For example, display 508 may be atouch-sensitive touch screen, and can then also act as an input deviceor keypad, such as for providing a soft-key keyboard, navigationbuttons, or the like.

In some embodiments, the transceiver(s) 510 includes any sort oftransceivers known in the art. For example, transceiver(s) 510 mayinclude a radio transceiver and interface that performs the function oftransmitting and receiving radio frequency communications via anantenna.

In some embodiments, the output devices 512 include any sort of outputdevices known in the art, such as a display (already described asdisplay 508), speakers, a vibrating mechanism, or a tactile feedbackmechanism. Output devices 512 also include ports for one or moreperipheral devices, such as headphones, peripheral speakers, or aperipheral display.

In various embodiments, input devices 514 include any sort of inputdevices known in the art. For example, input devices 514 may include amicrophone, a keyboard/keypad, or a touch-sensitive display (such as thetouch-sensitive display screen described above). A keyboard/keypad maybe a push button, a multi-key keyboard (such as a conventional QWERTYkeyboard), or one or more other types of keys or buttons, and may alsoinclude a joystick-like controller and/or designated navigation buttons,or the like.

The machine readable medium 518 stores one or more sets of instructions(e.g., software) embodying any one or more of the methodologies orfunctions described herein. The instructions may also reside, completelyor at least partially, within the memory 502 and within the processor504 during execution thereof by the message handling device 106. Thememory 502 and the processor 504 also may constitute machine readablemedia 518.

FIG. 6 illustrates a component level view of an example sender device102, in accordance with various embodiments. As shown, the sender device102 may include a memory 602, the memory storing an application, OS, anddata 112. The sender device 102 further includes a modem 114 (describedabove), processor(s) 604, interfaces 606, a display 608, transceivers610, output devices 612, input devices 614, and drive unit 616 includinga machine readable medium 618.

In various embodiments, memory 602 generally includes both volatilememory and non-volatile memory (e.g., RAM, ROM, EEPROM, Flash Memory,miniature hard drive, memory card, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other medium).Additionally, in some embodiments, memory 602 includes a SIM (subscriberidentity module) card, which is a removable memory card used to identifya user of the sender device 102 to a service provider network. Memory602 can also be described as computer storage media and may includevolatile and nonvolatile, removable and non-removable media implementedin any method or technology for storage of information, such as computerreadable instructions, data structures, program modules, or other data

The applications, OS, and data 112 stored in memory 604 are also shownin FIG. 1 and described above in detail with reference to that figure.

In some embodiments, the processor(s) 604 is a central processing unit(CPU), a graphics processing unit (GPU), or both CPU and GPU, or otherprocessing unit or component known in the art.

In various embodiments, the interfaces 606 are any sort of interfacesknown in the art. Interfaces 606 include any one or more of an Ethernetinterface, wireless LAN interface, a near field interface, a DECTchipset, or an interface for an RJ-11 or RJ-45 port. The a wireless LANinterface can include a Wi-Fi interface or a Wi-Max interface, or aBluetooth interface that performs the function of transmitting andreceiving wireless communications using, for example, the IEEE 802.11,802.16 and/or 802.20 standards. For instance, the sender device 102 canuse a Wi-Fi interface to communicate directly with a nearby device. Thenear field interface can include a Bluetooth® interface or RFID fortransmitting and receiving near field radio communications via a nearfield antenna. For example, the near field interface may be used forfunctions, as is known in the art, such as communicating directly withnearby devices that are also, for instance, Bluetooth® or RFID enabled.A reader/interrogator may be incorporated into sender device 102.

In various embodiments, the display 608 is a liquid crystal display orany other type of display commonly used in telecommunication devices.For example, display 608 may be a touch-sensitive display screen, andcan then also act as an input device or keypad, such as for providing asoft-key keyboard, navigation buttons, or the like.

In some embodiments, the transceivers 610 include any sort oftransceivers known in the art. For example, transceivers 610 may includea radio transceiver and interface that performs the function oftransmitting and receiving radio frequency communications via anantenna. The radio interface facilitates wireless connectivity betweenthe sender device 102 and various cell towers, base stations and/oraccess points.

In some embodiments, the output devices 612 include any sort of outputdevices known in the art, such as a display (already described asdisplay 608), speakers, a vibrating mechanism, or a tactile feedbackmechanism. Output devices 612 also include ports for one or moreperipheral devices, such as headphones, peripheral speakers, or aperipheral display.

In various embodiments, input devices 614 include any sort of inputdevices known in the art. For example, input devices 614 may include amicrophone, a keyboard/keypad, or a touch-sensitive display (such as thetouch-sensitive display screen described above). A keyboard/keypad maybe a push button numeric dialing pad (such as on a typicaltelecommunication device), a multi-key keyboard (such as a conventionalQWERTY keyboard), or one or more other types of keys or buttons, and mayalso include a joystick-like controller and/or designated navigationbuttons, or the like.

The machine readable medium 618 stores one or more sets of instructions(e.g., software) embodying any one or more of the methodologies orfunctions described herein. The instructions may also reside, completelyor at least partially, within the memory 602 and within the processor604 during execution thereof by the sender device 102. The memory 602and the processor 604 also may constitute machine readable media 618.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described. Rather,the specific features and acts are disclosed as exemplary forms ofimplementing the claims

We claim:
 1. A computer-implemented method comprising: receiving aplurality of signaling messages; prioritizing the signaling messagesbased at least on classifications of the signaling messages; andprocessing at least a number of the signaling messages in order ofpriority, the number processed being based at least on a volume of thesignaling messages.
 2. The method of claim 1, wherein in the signalingmessage classifications are specified by a signaling classificationprotocol.
 3. The method of claim 2, wherein the prioritizing is furtherbased on rules for handling classifications that are specified by thesignaling classification protocol.
 4. The method of claim 2, wherein atleast one of the classifications is represented within a header of oneof the signaling messages by one or more bits of a header field.
 5. Themethod of claim 4, wherein the signaling classification protocolspecifies a bit length for a representation of a classification andspecifies the header field that is to include the representation.
 6. Themethod of claim 1, wherein the classifications are associated with atleast one category, the at least one category including at least one ofa voice call, high priority data signaling, low priority data signaling,an update, a packet data protocol (PDP) context establishment, a radioresource control (RRC) connection establishment request, a RRC radiobearer reconfiguration, a RRC release, a RRC paging message, cellupdates, a session initiation protocol (SIP) request or response, or aspecific type of SIP request or response.
 7. The method of claim 1,wherein the prioritizing is further based on rules for handlingclassifications that are determined by an operator or service provider.8. The method of claim 1, further comprising: comparing the volume ofthe signaling messages to a threshold volume imposed by physicalcapacities of equipment performing the processing, by an operator, or bya service provider; and based at least on the comparing, limiting howmany of the signaling messages are to be processed.
 9. The method ofclaim 1, further comprising queuing unprocessed signaling messages forlater processing.
 10. The method of claim 1, wherein the processingincludes replying to the signaling messages or performing an actrequested by the signaling messages.
 11. The method of claim 1, furthercomprising, for at least one unprocessed signaling message, replying toa sender of the at least one unprocessed signaling message with arequest that the sender wait for a specified time before sending anothersignaling message.
 12. The method of claim 1, further comprisingreceiving a payload delivery message associated with one of thesignaling messages, the payload delivery message having a classificationthat is different from the classification of the one of the signalingmessages.
 13. An article of manufacture comprising: a storage medium;and computer-readable programming instructions stored on the storagemedium and configured to program a computing device to performoperations including: receiving a plurality of radio signaling messages;prioritizing the radio signaling messages based at least onclassifications of the radio signaling messages; processing at least anumber of the radio signaling messages in order of priority, the numberprocessed being based at least on a volume of the radio signalingmessages; and for at least one unprocessed radio signaling message,replying to a sender of the at least one unprocessed radio signalingmessage with a request that the sender wait for a specified time beforesending another signaling message.
 14. The article of claim 13, whereinthe operations further include performing the replying in response todetermining that the at least one unprocessed radio signaling message isassociated with a specific classification included in a radio signalingclassification protocol.
 15. The article of claim 13, wherein the waitspecified in the request is determined based at least on aclassification of the at least one unprocessed radio signaling message.16. The article of claim 13, wherein the operations further includediscarding the at least one unprocessed radio signaling message afterperforming the replying.
 17. A telecommunication device comprising: aprocessor; and a plurality of programming instructions configured to beoperated by the processor to perform operations including: formulating asignaling message, including determining a classification associatedwith the signaling message based on a signaling classification protocol;and transmitting the signaling message to a server for processing inaccordance with the signaling message classification.
 18. Thetelecommunication device of claim 1, wherein the operations furtherinclude: receiving a reply from the server requesting that thetelecommunication device wait for a specified time before sendinganother signaling message; and after waiting for the specified timeperiod, re-transmitting the signaling message to the server.
 19. Thetelecommunication device of claim 17, wherein the signalingclassification protocol specifies a bit length for a representation ofthe classification and specifies a header field of the signaling messagethat is to include the representation.
 20. The telecommunication deviceof claim 17, wherein the classification is associated with at least onecategory, the at least one category including at least one of a voicecall, high priority data signaling, low priority data signaling, anupdate, a packet data protocol (PDP) context establishment, a radioresource control (RRC) connection establishment request, a RRC radiobearer reconfiguration, a RRC release, a RRC paging message, cellupdates, a session initiation protocol (SIP) request or response, or aspecific type of SIP request or response.